-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set unicode values for glyphs #3
Conversation
Thanks! I'm not sure what is going on here, I don't remember using a normalization tool of anything. |
huh, that's weird, I have no idea what might have been going on 🤔 |
I suggest running your glifs through |
Normalizing UFO data is kind of a harry subject. cf. ufoNormalizer, pysilfont, and the many discussions that have gone on in UFO issues, the font-text working group, etc. Also note using if I finish setting up a build workflow using If |
Well, it's not that it's "adding" anything in particular, just that these files were already indented on two spaces, so xmllint (like any good, functioning XML formatter) can reduce the noise in your patch by not messing with all of the whitespace in the whole font when you really just wanted to add a line to each glyph. RE: ufoNormalizer: the indent thing is really the only controversy it causes. The UFO spec examples are all indented on two spaces, it's the default indent for formatted XML from libxml2, and several UFO tools in the wild prefer two spaces despite ufoNormalizer preferring tabs. I hate to get into what undoubtedly seems like a shallow argument about indent styles that is as old as time, but it really seems that ufoNormalizer is the weird one here. I will say ufoNormalizer overall does some stuff that I don't like, like adding keys to your lib.plist, and massive strings full of timestamps all over the place. Timestamps seem like a good idea until you try to run ufoNormalizer in a filter-branch or similar operation (to clean up a non-normalized history) and find it putting different timestamps in each time. |
I think you might have misunderstood me a little. I'm not a fan of tabs in markup. The choice to use I've been meaning no make the normalizer used in And yes timestamps in the file format were/are a terrrrrrrible idea. We should get that addressed upstream. I've already campaigned for them to be removed from OpenType and some other places so we can work towards reproducible builds, but there is more work to be done there. |
Yeah, honestly I love the basic psfnormalize behaviour, and you can solve the problem of it changing the OpenType timestamps by just deleting that field (it won't add it back), but there appears to be no way to disable writing logs to files. I ran it in a git filter-branch and my best option was to remove the garbage it wrote into the working directory using rm in the filter-branch command lol. I might just write my own, with a focus on a) adopting the most popular formatting from authoring tools and b) not touching anything or trying to be smart about embedding metadata in the font, completely reproducible. |
I notice you ran this through some other normalization tool or something? The diff is larger than it should be. In any case this is motivated by linebender/runebender#233; preview doesn't work without unicode values set.
Feel free to ignore this PR and do it some other way if you like, I personally wouldn't like merging this if I were you 😛